<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>

</body>
<script>
    // 函数的参数解构
    // 如果函数的参数确定为数组(可遍历结构)或对象 => 可以直接对参数进行解构

    // 多参数传参
    // function add(a, b) {
    //     return a + b;
    // }
    // add(1, 2)

    // 参数整合到一起
    // 1. 数组
    // 2. 对象

    // function add(list = []) { // list = [1,2]
    //     var [a = 0, b = 0] = list;
    //     return a + b;
    // }
    // var result = add([1, 2]);
    // console.log(result);


    // function add([a = 0, b = 0] = list = []) { // list = [1,2]
    //     console.log(a, b);
    //     return a + b;
    // }

    function add([a = 0, b = 0] = []) { // list = [1,2]
        console.log(a, b);
        return a + b;
    }

    var result = add([1, 2]);
    console.log(result);

    var result = add();
    console.log(result);


    // -------------------------------------------

    // function add(option) { // option = {a:1,b:2}
    //     var { a = 0, b = 0 } = option;
    //     return a + b;
    // }
    // var result = add({ a: 1, b: 2 });
    // console.log(result);


    function add({ a = 0, b = 0 } = option = {}) { // option = {a:1,b:2}
        var { a = 0, b = 0 } = option;
        return a + b;
    }

    function add({ a = 0, b = 0 } = {}) { // option = {a:1,b:2}
        var { a = 0, b = 0 } = option;
        return a + b;
    }
    var result = add({ a: 1, b: 2 });
    console.log(result);




</script>

</html>